""" 
    本程序通过调用Google OR-Tools工具包求解线性规划模型，实现基于列车运行图压缩法的铁路区间通过能力计算
    作者：廖正文 北京交通大学
    
    程序包含2个主要的Python文件，PyTimetableCompression.py为列车运行图压缩的主程序，PyTimetableCompressionData.py定义了该程序的数据结构
 """

import PyTimetableCompression as ptc  # 引入PyTimetableCompression程序包，运行图压缩主程序包
import PyTimetableCompressionData as ptcdata  # 引入PyTimetableCompressionData程序包，管理数据


ptc.Data = ptcdata.LoadDataFromFiles("./InputFiles")  # 从文件中读取数据

ptc.Initialize()  # 初始化

ptc.BuildModel()  # 创建模型

solutionStatus = ptc.Solve()  # 求解模型

if solutionStatus == True:  # 如果模型求解成功，则输出运行图数据
    ptc.Data.WriteTimetable() 

    ptcdata.Plot(ptc.Data,\
         "./OutputFiles/TimetableMetaData.xml")  # 绘制列车运行图

    # ptcdata.Plot(ptc.Data, \
    #     "D:\\TrainTimetablingTemplate\\TrainTimetablingTemplate.DotNetCore\\KappaRail.TimetableWebDrawer\\AdjustedTimetable.xml")  # 绘制列车运行图
